home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 1 / Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso / FILES / DEV / I-Z / ViewIt™ Shareware.sea / ViewIt™ 2.04 Shareware / Projects / C Demos / fDemoLC.c < prev    next >
C/C++ Source or Header  |  1992-08-12  |  3KB  |  133 lines

  1. /* FaceIt 2.04 Demonstration Program */
  2. /* ©FaceWare 1989-92.  All Rights Reserved. */
  3. /*C1 - run program to see on-line comments */
  4.  
  5. /*C2*/
  6. #include "string.h"
  7. #include "FaceStorLC.h"
  8. extern struct FaceRec fRec;
  9.  
  10. short  i,mode;
  11. long   oldCount,newCount;
  12. KeyMap keys;
  13. char   fileName[256];
  14.  
  15. main()
  16. {
  17. /*C3*/
  18.     strcpy(fRec.uName, "fDemo.Rsrc");
  19. /*C4,5*/
  20.     FaceIt(0L,DoInit,515L,0L,0L,0L);
  21. /*C6*/
  22.     FaceIt(0L,NewWnd,1030L,1L,0L,0L);
  23. /*C7*/
  24.     for (;;)
  25.         {
  26.         FaceIt(0L,DoLoop,0L,0L,0L,0L);
  27. /*C8*/
  28.         switch (fRec.uMenuID)
  29.             {
  30. /*C9*/
  31.             case 101:
  32.                 if (fRec.uMenuItem == 1) {
  33.                     strcpy(fRec.uString, "Demonstration of the use of FaceIt\rto support program-wide features.");
  34.                     FaceIt(0L,ShoStr,3L,12L,(1L + (409L * 65536L)),0L);
  35.                     }
  36.                 break;
  37. /*C10*/
  38.             case 105:
  39.             case 106:
  40.             case 107:
  41. /*C11*/
  42.                 switch (fRec.uMenuItem)
  43.                     {
  44.                     case 1:
  45.                         SysBeep(5);
  46.                         break;
  47.                     case 2:
  48.                         SysBeep(5);
  49.                         SysBeep(5);
  50.                         break;
  51.                     case 3:
  52.                         SysBeep(5);
  53.                         SysBeep(5);
  54.                         SysBeep(5);
  55.                         break;
  56. /*C12*/
  57.                     case 8:
  58. /*C13*/
  59.                         FaceIt(0L,ShoAlt,1010L,0L,1L,1L);
  60.                         mode = fRec.uResult;
  61.                         oldCount = 0L;
  62.                         if (mode > 1)
  63.                             for (;;)
  64.                                 {
  65. /*C14*/
  66.                                 newCount = TickCount();
  67.                                 if (newCount - oldCount > 180)
  68.                                     {
  69.                                     SysBeep(5);
  70.                                     oldCount = newCount;
  71.                                     }
  72. /*C15*/
  73.                                 if (mode == 2)
  74.                                     if (GetNextEvent(-1,&fRec.fEvent))
  75.                                         if ((fRec.fEvent.what == 6)||(fRec.fEvent.what == 15))
  76.                                             FaceIt(0L,DoEvnt,0L,0L,0L,0L);
  77.                                         else if (fRec.fEvent.what == 5)
  78.                                             break;
  79. /*C16*/
  80.                                 if (mode == 3)
  81.                                     {
  82.                                     GetKeys(&keys);
  83.                                     if ((BitTst(&keys,61L))&&(BitTst(&keys,48L)))
  84.                                         {
  85.                                         FlushEvents(62,0);
  86.                                         break;
  87.                                         }
  88.                                     }
  89.                                 }
  90.                         break;
  91.                     }
  92.                 break;
  93. /*C17*/
  94.             case 1030:
  95.                 if (fRec.wcHit > 3) {
  96.                     FaceIt(0L,GetCtl,1030L,0L,1L,4L);
  97.                     FaceIt(0L,PopMen,107L,fRec.cRect.top - 5L,fRec.cRect.left - 11L,0L);
  98.                     fRec.wcHit = fRec.uMenuItem;
  99.                     }
  100.                 if (fRec.wcHit > 0)
  101.                     for (i = 1; i <= fRec.wcHit; i++)
  102.                       SysBeep(5);
  103.                 break;
  104. /*C18*/
  105.             case 1100:
  106.                 if (fRec.uMenuItem == 2)
  107.                     {
  108.                     if (fRec.fActiveWnd == 0L)
  109.                         strcpy(fRec.uString, "No Window");
  110.                     else if (fRec.fActiveID != 1200)
  111.                         strcpy(fRec.uString, "Non-ViewIt Window");
  112.                     else if (fRec.fActiveResID == 1010)
  113.                         strcpy(fRec.uString, "Editor Window");
  114.                     else if (fRec.fActiveResID == 1020)
  115.                         strcpy(fRec.uString, "Clipboard Window");
  116.                     else if (fRec.fActiveResID == 1030)
  117.                         strcpy(fRec.uString, "Beeps Window");
  118.                     FaceIt(0L,SetItm2,105L,10L,3L,0L);
  119.                     }
  120. /*C19*/
  121.                 else if (fRec.uMenuItem == 512)
  122.                     if (strcmp(fRec.uString,"TEXT") == 0)
  123.                         if (fRec.uResult == 1)
  124.                             {
  125.                             strcpy(fileName,fRec.uName);
  126.                             FaceIt(0L,GetCtl,1010L,0L,1L,1L);
  127.                             strcpy(fRec.uName,fileName);
  128.                             FaceIt(fRec.cControl,1551L,0L,1L,0L,0L);  /* OpnCTxt */
  129.                             }
  130.                 break;
  131.             }
  132.         }
  133. }